public class test3 {
    public static void main(String[] args) {
        int limit = 20000;  // 查找范围
        int count = 0;      // 用于计数，控制每行打印5个

        System.out.println("1~20000之间的素数：");
        System.out.println("==================");

        // 遍历1到20000的所有数字
        for (int num = 2; num <= limit; num++) {
            boolean isPrime = true;  // 假设当前数字是素数

            // 检查num是否为素数
            for (int i = 2; i <= Math.sqrt(num); i++) {
                if (num % i == 0) {
                    isPrime = false;  // 如果能被整除，就不是素数
                    break;           // 跳出内层循环
                }
            }

            // 如果是素数，就打印出来
            if (isPrime) {
                System.out.printf("%6d", num);  // 格式化输出，每个数占6位
                count++;

                // 每打印5个素数就换行
                if (count % 5 == 0) {
                    System.out.println();
                }
            }
        }

        // 如果最后一行不满5个，也要换行
        if (count % 5 != 0) {
            System.out.println();
        }

        System.out.println("==================");
        System.out.println("总共找到 " + count + " 个素数");
    }
}